Datei öffnen
Eine Datei kann in unterschiedliche Modis geöffnet werden.
| Modus | Beschreibung | Datei nicht vorhanden | 
|---|---|---|
| r | ASCII lesen | NULL | 
| rb | Binär lesen | NULL | 
| w | ASCII schreiben | Erstellt Datei | 
| wb | Binäres schreiben | Erstellt Datei | 
| a | Anfügen | Erstellt Datei | 
| ab | Binäres Anfügen | Erstellt Datei | 
| r+ | Lesen und schreiben | NULL | 
| rb+ | Lesen und schreiben in binär | NULL | 
| w+ | lesen und schreiben | Erstellt Datei | 
| wb+ | Lesen und schreiben in binär | Erstellt Datei | 
| ab+ | Anfügen und lesen in binär | Erstellt Datei | 
#include <stdio.h>
#include <stdlib.h>
FILE *f = fopen("Pfad", "mode");
Datei lesen (line by line)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	char * line = NULL;
	size_t len = 0;
	ssize_t read;
	FILE *f = fopen("Pfad", "r");
	
	if (f == NULL) { // das gleiche wie if (!f)
		perror("Datei konnte nicht geöffnet werden!");
		exit(-1);
	}
	
	while ((read = getline(&line, &len, f)) != -1) {
		printf("Retrieved line of length %zu:\n", read);
		printf("%s", line);
	}
	
	// Datei wieder schliessen
	fclose(f);
	
	if (line)
	{
		free (line);
	}
	return EXIT_SUCCESS;
}
Datei schreiben (by Charater)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	char * line = NULL;
	size_t len = 0;
	ssize_t read;
	FILE *f = fopen("Pfad", "w");
	
	if (f == NULL) { // das gleiche wie if (!f)
		perror("Datei konnte nicht geöffnet werden!");
		exit(-1);
	}
	// Datei wieder schliessen
	fclose(f);
	
	if (line)
	{
		free (line);
	}
	return EXIT_SUCCESS;
}
Datei anfügen
#include <stdio.h>
#include <stdlib.h>
int main(void)
{	
	char * line = NULL;
	size_t len = 0;
	ssize_t read;
	FILE *f = fopen("Pfad", "a");
	
	if (f == NULL) { // das gleiche wie if (!f)
		perror("Datei konnte nicht geöffnet werden!");
		exit(-1);
	}
	// Datei wieder schliessen
	fclose(f);
	
	if (line)
	{
		free (line);
	}
 	return EXIT_SUCCESS;
}